package com.qf.feign;

import com.qf.pojo.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 注意: 所有的feign接口不要手写, 一定要复制粘贴, 因为如果一旦字母有错, 调用将会失败报错,
 * 并且所有报错的内容都是, 远程调用失败.
 * @author 千锋健哥
 */
//指定被调用微服务的服务名称, fallback指定如果被调用方出现异常, 兜底的类是哪个
@FeignClient(value = "QF-SEARCH", fallback = SearchFeignFallBack.class)
@RequestMapping("/search")
public interface SearchFeign {


    /**
     * 模拟被调用的接口
     * @return
     */
    @GetMapping("/test")
    public String test();

    @GetMapping("/findByName/{name}")
    public List<User> findByName(@PathVariable(value = "name") String name);

    @PutMapping("/update")
    public void updateUser(@RequestBody User user);
}
